package com.wicket.okrframework.biz.service.dto.res;

import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc QueryUserDetailComRespDto
 * @使用场景
 */
@Data
public class QueryUserDetailComRespDto extends BaseDto implements Serializable {

  /**
   * 个人账号
   */
  @ApiModelProperty("个人账号")
  private String userId;

  /**
   * 使用无效密码登录次数
   */
  @ApiModelProperty("使用无效密码登录次数")
  private Long failedPasswordAttemptCount;

  /**
   * 失效类型 FREEZE:冻结 OTHER:其他
   */
  @ApiModelProperty("失效类型")
  private String invalidType;

  /**
   * 失效原因
   */
  @ApiModelProperty("失效原因")
  private String invalidReason;

  /**
   * 是否失效 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否失效")
  private String isInvalid;

  /**
   * 用户名
   */
  @ApiModelProperty("用户名")
  private String userName;

  /**
   * 密码
   */
  @ApiModelProperty("密码")
  private String password;

  /**
   * 绑定邮箱
   */
  @ApiModelProperty("绑定邮箱")
  private String email;

  /**
   * 邮箱激活状态 TRUE:是 FALSE:否
   */
  @ApiModelProperty("邮箱激活状态")
  private String passByEmail;

  /**
   * 绑定手机
   */
  @ApiModelProperty("绑定手机")
  private String phone;

  /**
   * 手机激活状态 TRUE:是 FALSE:否
   */
  @ApiModelProperty("手机激活状态")
  private String passByPhone;

  /**
   * 注册时间
   */
  @ApiModelProperty("注册时间")
  private Date regTime;

  /**
   * 最后登录时间
   */
  @ApiModelProperty("最后登录时间")
  private Date lastLoginTime;

  /**
   * 最后登录ip
   */
  @ApiModelProperty("最后登录ip")
  private String lastLoginIp;

  /**
   * 上次修改密码时间
   */
  @ApiModelProperty("上次修改密码时间")
  private Date lastPasswordChangedTime;

  /**
   * 上次被锁定的时间
   */
  @ApiModelProperty("上次被锁定的时间")
  private Date lastLockoutTime;

  /**
   * 首次使用无效密码时间
   */
  @ApiModelProperty("首次使用无效密码时间")
  private Date firstFailedPasswordAttempTime;

  /**
   * 设备
   */
  @ApiModelProperty("设备")
  private String devName;

  /**
   * 来源渠道 PC:PC端 APP:APP MINI_APPLET:小程序
   */
  @ApiModelProperty("来源渠道")
  private String sourceCode;

  /**
   * 邀请人账号
   */
  @ApiModelProperty("邀请人账号")
  private String inviteUserId;

  /**
   * 个人资料是否完善 TRUE:是 FALSE:否
   */
  @ApiModelProperty("个人资料是否完善")
  private String isUserInfoDone;

}
